<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // async 用于修饰函数，也就是放到函数前面
        // async 函数，如果返回一个值，相当于返回了一个Promise对象，resolve(值)
        async function abc() {
            return '任何内容'
            return Promise.reject('失败状态')
        }
        // 相当于
        // async function abc() {
        //   return new Promise((resolve, reject) => {
        //     resolve(123)
        //   })
        // }
        let p = abc()
        // await 要配合async来使用
    // 【如果函数中出现 await、那么在离await最近的那个函数前面加 async】
    // 【await会暂停函数的执行，也就是await下面的代码都是异步的】
        async function fn() {
            console.log(1)
            let res = await p
            console.log(3)
            console.log(4)
            console.log(5)
        }
        fn()
        console.log(2)
    </script>
</body>

</html>